'use strict';

module.exports = {
    up: async(queryInterface, Sequelize) => {
        const { INTEGER, DATE, STRING } = Sequelize;
        // 创建表
        await queryInterface.createTable('userappraisal', {
            id: {
                type: INTEGER(20).UNSIGNED,
                primaryKey: true,
                autoIncrement: true
            },
            userid: {
                type: INTEGER(20).UNSIGNED,
                allowNull: false,
                comment: '用户id',
                //  定义外键（重要）
                references: {
                    model: 'user', // 对应表名称（数据表名称）
                    key: 'id' // 对应表的主键
                },
                onUpdate: 'restrict', // 更新时操作
                onDelete: 'cascade' // 删除时操作
            },
            appraisalid: {
                type: INTEGER(20).UNSIGNED,
                allowNull: false,
                comment: '课程id',
                //  定义外键（重要）
                references: {
                    model: 'appraisal', // 对应表名称（数据表名称）
                    key: 'id' // 对应表的主键
                },
                onUpdate: 'restrict', // 更新时操作
                onDelete: 'cascade' // 删除时操作
            },
            use: {
                type: INTEGER(1),
                allowNull: false,
                defaultValue: 0,
                comment: '使用',
            },
            created_at: DATE,
            updated_at: DATE
        });
    },

    down: async queryInterface => {
        await queryInterface.dropTable('userappraisal');
    }
};